package {
	
	import screens.Home;
	import screens.InApi;
	
	import events.Nav;
	
	import starling.display.Sprite;
	import starling.events.Event;

	public class Engine extends Sprite {
		
		private var _home:Home;
		private var _inApi:InApi;
		
		public function Engine()
		{
			super();
			
			/* On écoute si notre 'Engine' est ajouté à la scène dans ce cas on appelle la fonction init  */
			addEventListener(Event.ADDED_TO_STAGE,init);
			
		}
		
		private function init(evt:Event):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE,init);
			
			/*puis on crée , on ajoute à notre scene puis on dispose temporairement notre _home */
			
			_home = new Home();
			addChild(_home);
			_home.disposeTemp();
		
			_inApi = new InApi();
			addChild(_inApi);
			_inApi.disposeTemp();
			
			this.addEventListener(events.Nav.CHANGE_SCREEN, onNavChange);  /*On écoute si un évenement 'CHANGE_SCREEN est déclenché */
			
			homeInit();
			//trace(_inApi.getChildAt(1));
		}
		
		
		
		
	/*	on laisse ça la pour le moment ...
	 * */
		private function homeInit():void
		{
			dispatchEvent(new Nav(Nav.CHANGE_SCREEN, { id:"home" }, true));
			
		}	
		private function onNavChange(event:Nav):void 
		{
			trace("switch " +event._params.id );
		
			switch(event._params.id)
			{
				case "home": 
					_home.reveal();
					_home.changeView(true);
					_inApi.disposeTemp();
					_inApi.songControl(false);
									
					break;
				case "inApi": 
					_home.disposeTemp();
					_home.changeView(false);
					_inApi.reveal();
					_inApi.songControl(true);
					//mettre le fond sonore
					//_inApi.setFondSonore();
					break;
			}
		}
		
	}
}